/**
 * 合同信息列表VO - 对应后端ProContractVo
 */
export interface ProContractVO {
  /**
   * 主键ID
   */
  id: string | number;

  /**
   * 合同名称
   */
  contractName: string;

  /**
   * 合同编号
   */
  contractNumber: string;

  /**
   * 业主单位
   */
  ownerUnit: string;

  /**
   * 项目区域
   */
  projectRegion: string;

  /**
   * 项目区域名称
   */
  projectRegionName: string;

  /**
   * 执行总裁ID（逗号分隔）
   */
  presidentsId: string;

  /**
   * 执行总裁姓名（逗号分隔，用于显示）
   */
  presidentsName: string;

  /**
   * 项目负责人姓名（逗号分隔，用于显示）
   */
  leadersName: string;

  /**
   * 合同签订时间
   */
  conSignTime: string;

  /**
   * 合同金额
   */
  conAmount: number | string;

  /**
   * 合同金额备注
   */
  conAmountRemark: string;

  /**
   * 合同是否有延期约定（0否1是）
   */
  hasExtension: string;

  /**
   * 合同拆分状态（0：未拆分，1：已拆分）
   */
  splitStatus: string;

  /**
   * 合同状态
   */
  contractStatus: string;

  /**
   * 创建人
   */
  createBy: string | number;

  /**
   * 创建时间
   */
  createTime: string;

  /**
   * 合同约定工期
   */
  conPeriod: string;

  /**
   * 合同预计结束时间
   */
  conEndTime: string;

  /**
   * 合同约定工作内容
   */
  conWorkContent: string;

  /**
   * 合同约定质量标准
   */
  conQualityStandard: string;

  /**
   * 付款方式
   */
  paymentMethod: string;

  /**
   * 合同延期约定内容
   */
  extensionContent: string;

  /**
   * 合同是否逾期
   */
  isDelay: string;

  /**
   * 备注
   */
  remark: string;
}

/**
 * 合同表单BO - 对应后端ProContractBo
 */
export interface ProContractForm {
  /**
   * 主键ID
   */
  id?: string | number;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 合同编号
   */
  contractNumber?: string;

  /**
   * 业主单位
   */
  ownerUnit?: string;

  /**
   * 项目区域
   */
  projectRegion?: string | number | number[];

  /**
   * 项目区域名称（用于回显）
   */
  projectRegionName?: string;

  /**
   * 执行总裁ID（逗号分隔）
   */
  presidentsId?: string;

  /**
   * 执行总裁姓名（逗号分隔，用于显示）
   */
  presidentsName?: string;

  /**
   * 合同签订时间
   */
  conSignTime?: string;

  /**
   * 合同约定工期
   */
  conPeriod?: string;

  /**
   * 合同预计结束时间
   */
  conEndTime?: string;

  /**
   * 合同约定工作内容
   */
  conWorkContent?: string;

  /**
   * 合同约定质量标准
   */
  conQualityStandard?: string;

  /**
   * 合同金额
   */
  conAmount?: number | string;

  /**
   * 合同金额备注
   */
  conAmountRemark?: string;

  /**
   * 付款方式
   */
  paymentMethod?: string;

  /**
   * 合同是否有延期约定（0否1是）
   */
  hasExtension?: string;

  /**
   * 合同延期约定内容
   */
  extensionContent?: string;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 合同拆分状态（0：未拆分，1：已拆分）
   */
  splitStatus?: string;

  /**
   * 合同状态
   */
  contractStatus?: string;

  /**
   * 合同是否逾期
   */
  isDelay?: string;

  /**
   * 创建时间
   */
  createTime?: string;

  /**
   * 创建人
   */
  createBy?: string | number;

  /**
   * 更新时间
   */
  updateTime?: string;

  /**
   * 更新人
   */
  updateBy?: string | number;

  /**
   * 请求参数
   */
  params?: any;
}

/**
 * 合同查询参数
 */
export interface ProContractQuery {
  /**
   * 分页大小
   */
  pageSize?: number;

  /**
   * id
   */
  id?: number | string;

  /**
   * 当前页数
   */
  pageNum?: number;

  /**
   * 排序列
   */
  orderByColumn?: string;

  /**
   * 排序的方向desc或者asc
   */
  isAsc?: string;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 合同编号
   */
  contractNumber?: string;

  /**
   * 业主单位
   */
  ownerUnit?: string;

  /**
   * 执行总裁ID
   */
  presidentsId?: string;

  /**
   * 项目负责人ID
   */
  leadersId?: string;

  /**
   * 项目区域
   */
  projectRegion?: string;

  /**
   * 合同状态
   */
  contractStatus?: string;

  /**
   * 项目状态
   */
  proStatus?: string;

  /**
   * 是否逾期
   */
  isDelay?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}

/**
 * 合同回款统计VO - ConReceiveStatisticVO
 */
export interface ConReceiveStatisticVO {
  /**
   * 合同ID
   */
  id: string | number;

  /**
   * 合同名称
   */
  contractName: string;

  /**
   * 合同编号
   */
  contractNumber: string;

  /**
   * 业主单位全称
   */
  ownerUnit: string;

  /**
   * 合同签订时间
   */
  conSignTime: string;

  /**
   * 合同总金额
   */
  conAmount: number | string;

  /**
   * 服务费用及付款方式
   */
  conAmountRemark: string;

  /**
   * 项目负责人姓名（逗号分隔）
   */
  proLeadersName: string;

  /**
   * 执行总裁姓名（逗号分隔）
   */
  proPresidentsName: string;

  /**
   * 收款负责人姓名（逗号分隔）
   */
  receiveLeadersName: string;

  /**
   * 是否到达回款节点（0：未到达，1：已到达）
   */
  isArrive: string;

  /**
   * 合同状态
   */
  contractStatus: string;

  /**
   * 已收款金额
   */
  receivedAmount?: number | string;
}



/** 部门树节点 */
export interface ItemTreeNode {
  id: number;
  contractName: string;
  children?: ItemTreeNode[];
  disabled?: boolean;
}